import axios from 'axios'
import { message } from 'ant-design-vue';

// 创建 Axios 实例
const myAxios = axios.create({
  baseURL: import.meta.env.VITE_BASE_API,
  timeout: 60000,
  withCredentials: true,
})

// 全局请求拦截器
myAxios.interceptors.request.use(
  function (config) {
    // Do something before request is sent
    return config
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error)
  },
)

// 全局响应拦截器
myAxios.interceptors.response.use(
  (response) => response.data.data,
  (error) => {
    // 处理错误
    if (error.response) {
      // 服务器返回错误响应
      message.error(`请求失败: ${error.response.data?.message || '服务器错误'}`)
    } else if (error.request) {
      // 请求已发送但未收到响应
      message.error('请求失败: 服务器无响应')
    } else {
      // 其他错误
      message.error(`请求失败: ${error.message}`)
    }
    return Promise.reject(error)
  }
)
export default myAxios




